Vehicles include a variety of systems that are used to operate the vehicle. In general, each vehicle system may be directed to a different aspect of vehicle operation. For example, the vehicle can include an engine and transmission to power the vehicle, a power steering system for vehicle control, and a braking system to slow or stop the vehicle, to name just a few vehicle functions. Individual vehicle systems can be assigned to execute the propulsion, control, and braking functions of the vehicle—as well as other, different vehicle functions.
The vehicle systems are often controlled at the direction of electronic control units (ECUs) that are each communicatively connected to each other by a vehicle communications bus as well as to the vehicle systems. As part of directing their respective vehicle systems, the ECUs can exchange information over the vehicle bus in the form of serial bus messages. It is important that the messages transmitted over the bus are accurate so that the ECU receiving the message can respond accurately and appropriately. In the past, the messages sent over the vehicle bus have been sent with a checksum that can indicate to the ECU receiving the message whether or not the message has been unintentionally corrupted. But use of a checksum may not ensure the integrity of messages against efforts to intentionally alter the contents of messages. As a result, use of techniques other than a checksum for verifying the integrity of intra-vehicle messages could be beneficial to protect those messages against corruption of data that is either intentional or unintentional. Furthermore, the payload for data on a serial bus message is limited. Including the checksum in the payload of the serial bus message can consume space that could be used to communicate additional information in the data message.